<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <style>
    /* flex: 1 1 auto; */
    /* 以上css 等价于以下三个属性的简写 */
    /* flex-grow: 1;
       flex-shrink: 1;
       flex-basis: auto; */

    .flex-container {
      height: 100px;
      background-color: skyblue;
      /* 弹性布局 */
      display: flex;
      /* 两端对齐 */
      justify-content: space-between;
      /* 垂直居中对齐 */
      align-items: center;
    }
    .flex-item {
      line-height: 50px;
      font-size: 30px;
      color: #fff;
      text-align: center;
    }
    .flex-item:nth-child(1) {
      background-color: tomato;
      width: 200px;
    }
    .flex-item:nth-child(2) {
      background-color: khaki;
      overflow: hidden;
      /* 文字不换行 */
      white-space: nowrap;
      /* flex:1相当于 flex:1 1 0%; */
      flex: 1;
    }
    .flex-item:nth-child(3) {
      width: 300px;
      background-color: pink;
    }
  </style>
  <body>
    <!-- 
        TIP
            flex属性是flex-grow, flex-shrink 和 flex-basis的简写。
            flex 属性的默认值 ：0 1 auto
    -->

    <!--
        一个值的写法

        flex: 1;
        上面简写，等价于下面写法
        flex: 1 1 0;

        flex: 0px; /* 这里为0必须带单位，否则会被当成 flex-grow 处理*/
        上面简写，等价于下面写法
        flex: 1 1 0px;

        flex: initial; /* 等价于 flex :0 1 auto   为 flex的默认值 */
        flex: none; /* 等价于  flex: 0 0 auto */
        flex: auto; /* flex:1 1 auto;  默认值 */

        flex:none;表示：flex: 0 0 auto; 不支持弹性伸缩
        flex:auto;表示：flex:1 1 auto; 在元素设置宽的基础上自动伸缩
        flex:1; 表示： flex: 1 1 0; 在元素宽为 0 的基础上伸缩
    -->

    <div class="flex-container">
      <div class="flex-item">logo</div>
      <div class="flex-item">搜索</div>
      <div class="flex-item">登录</div>
    </div>
  </body>
</html>
